import originJsonp from 'jsonp'

// 对外暴露一个方法
// 1，url是地址，query是data
export default function jsonp (url, data, option) {
  // 判断url是有？还是&这个拼接的
  url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)

  // 返回一个promise
  return new Promise((resolve, reject) => {
    originJsonp(url, option, (err, data) => {
      if (!err) {
        resolve(data)
      } else {
        reject(err)
      }
    })
  })
}

// 定义一个方法，json对象拼接到url对象里面
export function param (data) {
  let url = ''
  for (var k in data) {
    let value = data[k] !== undefined ? data[k] : ''
    // encodeURIComponent 函数可把字符串作为 URI 组件进行编码
    // url += '&' + k + '=' + encodeURIComponent(value)
    // es6语法
    url += `&${k}=${encodeURIComponent(value)}`
  }
  return url ? url.substring(1) : ''
}
